1. Field of the Invention
The present invention relates to a virtual computer system, and a physical resource reconfiguration method and a program thereof and, more particularly, to a virtual computer system in which with memory access times within a node and between nodes differing from each other, a hypervisor controls a virtual processor which executes a process on a plurality of nodes, and a physical resource reconfiguration method thereof.
2. Description of the Related Art
NUMA (Non Uniform Memory Access) type multiprocessor system (see Literature 1) is a kind of shared memory type multiprocessor system characterized in having a latency or a bandwidth between a processor and a memory varying with a region of a memory to be accessed. Among common NUMA architecture mounting forms are, for example, those in which between a plurality of groups (hereinafter referred to as node) having an UMA (Uniform Memory Access) configuration are all connected (see FIG. 2) and in which nodes are point-to-point connected.
In any form, an access to a local memory (a memory of a node to which a processor belongs) and an access to a remote memory (a memory of other node) differ in rate (this difference in access rate will be represented hereinafter as “distance between nodes” or “affinity between nodes”).
Because of this characteristic, in order to obtain excellent performance in a system with the NUMA architecture, it is effective to localize a memory access as much as possible. Realized in an OS for this purpose are a memory management method of assigning a memory region so as to bridge over nodes to the least by using a table called an SLIT (System Locality Information Table) or an SRAT (Static Resource Affinity Table) in which affinity between physical resources (CPU/memory/IO) is stored (hereinafter referred to as affinity table) and such a mechanism as a scheduler by which a processor on which a process or a thread operates is shifted to the least.
This mechanism is applicable only to static operation of reading affinity information at the start of an OS and using the same and there yet to exist no technique of coping with a dynamic change of a system by dynamically updating an affinity table.
On the other hand, there exists a virtual computer system having a mechanism of dynamically changing a resource assignment rate in order to effectively use resources by using a Hotplug function of a guest OS according to variation of a load of a virtual machine without stopping the system. In this technical field, however, no technique is yet to exist for obtaining such a configuration as makes the most of performance by optimizing resource arrangement while taking affinity information peculiar to the NUMA architecture into consideration.
Other related art are Literature 2 and Literature 3:
Literature 1: Japanese Translation of PCT International Application No. 2004-530196
Literature 2: Japanese Patent Laying-Open No. 2002-202959
Literature 3: Japanese Patent Laying-Open No. 2003-157177
In a conventional virtual computer system, no affinity is taken into consideration when assigning physical resources to virtual resources. As a result, resources might be assigned in such a manner as fails to make the most of performance of a NUMA system. In a case where resources are assigned in such a manner as causes a frequent memory access to a remote node, possible mechanism is reconfiguring a system to review resource assignment to manage with a local node access.
It is, however, impossible with conventional art to precisely determine which virtual machine should be reconfigured for more efficiency because there is no method of quantitatively measuring performance of memory access or quantity as its index (hereinafter represented as performance of memory access) in a virtual machine.
Even when a virtual machine to be reconfigured is decided, it is difficult to determine efficient configuration to be assigned to the machine. The reason is that when a configuration of physical resources to be assigned to the virtual machine is changed, there is no method of predicting to which extent performance of a memory access is improved.
Moreover, because a conventional OS fails to have a mechanism of coping with a dynamic change of an affinity table, even when a hypervisor dynamically changes a configuration of a virtual machine, the OS is not allowed to efficiently use its resources unless the OS is restarted.